home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Examples / Hello / Include / HelloCmd.h < prev    next >
Encoding:
Text File  |  1995-11-08  |  3.8 KB  |  151 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                HelloCmd.h
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Author:                M.Boetcher
  7. //
  8. //    Copyright:    © 1995 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef HELLOCMD_H
  13. #define HELLOCMD_H
  14.  
  15. // ----- Framework Includes -----
  16.  
  17. #ifndef FWEDCMD_H
  18. #include "FWEdCmd.h"
  19. #endif
  20.  
  21. #ifndef FWDRCMD_H
  22. #include "FWDrCmd.h"
  23. #endif
  24.  
  25. #ifndef FWBNDSTR_H
  26. #include "FWBndStr.h"
  27. #endif
  28.  
  29. //========================================================================================
  30. // Forward Declarations
  31. //========================================================================================
  32.  
  33. class FW_CLASS_ATTR CHelloPart;
  34. class FW_CLASS_ATTR CHelloSelection;
  35.  
  36. //========================================================================================
  37. // CHelloEditCommand
  38. //========================================================================================
  39.  
  40. class FW_CLASS_ATTR CHelloEditCommand : public FW_CEditCommand
  41. {
  42. //--------------------------------
  43. //    Initialization/Destruction
  44. //
  45.   public:
  46.     CHelloEditCommand(Environment* ev,
  47.                       ODCommandID id,
  48.                       CHelloPart* itsPart,
  49.                       FW_CFrame* frame);
  50.  
  51.     virtual ~CHelloEditCommand();
  52.  
  53. //--------------------------------
  54. //    Inherited API
  55. //
  56.     virtual void        UndoIt(Environment *ev);    // Override
  57.     virtual void        RedoIt(Environment *ev);    // Override
  58.     virtual void        SaveUndoState(Environment *ev);    // Override
  59.  
  60. //--------------------------------
  61. //    New API
  62. //
  63.   private:
  64.     void RemoveSelection(Environment* ev);
  65.     void RestoreSelection(Environment* ev);
  66.     void SwapSelection(Environment* ev);
  67.  
  68. //--------------------------------
  69. //    Data Members
  70. //
  71.   private:
  72.     CHelloPart*            fHelloPart;
  73.  
  74.     // Saved data for undo/redo
  75.     FW_CString255        fSavedTextData;        // saved string
  76.     FW_Boolean            fSavedSetting;        // saved Hello part setting
  77. };
  78.  
  79. //========================================================================================
  80. //    class CHelloDragCommand
  81. //========================================================================================
  82.  
  83. class FW_CLASS_ATTR CHelloDragCommand : public FW_CDragCommand
  84. {
  85.   public:
  86.     CHelloDragCommand(Environment* ev,
  87.                       CHelloPart* part,
  88.                       FW_CFrame* frame);
  89.     virtual ~CHelloDragCommand();
  90.  
  91. //--------------------------------
  92. //    Inherited API
  93. //
  94.     virtual void        UndoIt(Environment *ev);    // Override
  95.     virtual void        RedoIt(Environment *ev);    // Override
  96.     virtual void        SaveUndoState(Environment *ev);    // Override
  97.  
  98. //--------------------------------
  99. //    Data Members
  100. //
  101.   private:
  102.     CHelloPart*            fHelloPart;
  103.  
  104.     // Saved data for undo/redo
  105.     FW_CString255        fSavedTextData;        // saved string
  106.     FW_Boolean            fSavedSetting;        // saved Hello part setting
  107. };
  108.  
  109. //========================================================================================
  110. //    class CHelloDropCommand
  111. //========================================================================================
  112.  
  113. class FW_CLASS_ATTR CHelloDropCommand : public FW_CDropCommand
  114. {
  115.   public:
  116.     CHelloDropCommand(Environment *ev,
  117.                       CHelloPart* itsPart,
  118.                       FW_CFrame* frame,
  119.                       ODDragItemIterator* dropInfo, 
  120.                       ODFacet* odFacet,
  121.                       const FW_CPoint& dropPoint);
  122.  
  123.     virtual ~CHelloDropCommand();
  124.  
  125. //--------------------------------
  126. //    Inherited API
  127. //
  128.     virtual void        UndoIt(Environment *ev);    // Override
  129.     virtual void        RedoIt(Environment *ev);    // Override
  130.     virtual void        SaveUndoState(Environment *ev);    // Override
  131.  
  132. //--------------------------------
  133. //    New API
  134. //
  135.   private:
  136.     void SwapSelection(Environment* ev);
  137.  
  138. //--------------------------------
  139. //    Data Members
  140. //
  141.   private:
  142.     CHelloPart*            fHelloPart;
  143.  
  144.     // Saved data for undo/redo
  145.     FW_CString255        fSavedTextData;        // saved string
  146.     FW_Boolean            fSavedSetting;        // saved Hello part setting
  147. };
  148.  
  149.  
  150. #endif
  151.